<template>
  <div class="cmt-container">
    <h3>所有评论</h3>
    <hr>
    <textarea placeholder="请输入要BB的内容（做多吐槽120字）" maxlength="120" v-model="msg"></textarea>
    <mt-button type="primary" size="large" @click="commitComments">发表评论</mt-button>
    <div class="cmt-list">
      <div class="cmt-item"  v-for="(item,i) in comments" :key="item.add_time">
        <div class="cmt-title">
            第{{i+1}}楼&nbsp;&nbsp;用户：{{item.user_name}}&nbsp;&nbsp;发表时间：{{item.add_time}}
        </div>
        <div class="cmt-body">{{item.content}}</div>
      </div>
      <mt-button type="danger" size="large" plain @click="getMore">加载更多</mt-button>
    </div>

    
  </div>
</template>
<script>
import {Toast} from 'mint-ui'
export default {
    data(){
        return {
            pageIndex:1, //默认第一页数据
            comments:[], //从服务器获取评论的数据
            msg:''   //提交评论的数据
        }
    },
    created(){
        this.getComments();
    },
    methods:{
        getComments(){
            this.$http.get('api/getcomments?id='+this.id+'&pageIndex='+this.pageIndex).then(res=>{
                if(res.body.status===0){
                    console.log(res)
                    this.comments=this.comments.concat(res.body.data)
                }else {
                    Toast('获取数据失败')
                }
            })
        },
        getMore(){
            this.pageIndex++;
            this.getComments();
        },
        commitComments(){
          var id=this.$route.params.id
          var comment=this.msg.trim()
          this.$http.post('api/postcomment',{"id":id,"comment":comment}).then(res=>{
            if(res.body.status===0){
              var cmt={
                user_name:'匿名用户',
                add_time:Date.now(),
                content:this.msg.trim()
              };
              this.comments.unshift(cmt);
              this.msg='';
            }
          })
        }
    },
    props:["id"]
};
</script>
<style lang="scss" scoped>
.cmt-container {
  h3 {
    font-size: 18px;
  }
  textarea {
    font-size: 14px;
    height: 85px;
    margin: 0;
  }

  .cmt-list {
    margin: 5px 0;
    .cmt-item {
      font-size: 13px;
      .cmt-title {
        line-height: 30px;
        background-color: #ccc;
      }
      .cmt-body {
        line-height: 35px;
        text-indent: 2em;
      }
    }
  }
}
</style>

